package xerr

// CodeMsgMap map字典 K: 错误码	V: 错误信息
var CodeMsgMap = map[ResCode]string{
	OK:                        "success",
	ServerBusyError:           "服务器繁忙，等会再试试吧~",
	ServerCommonError:         "服务器开小差啦,稍后再来试一试",
	RequestParamError:         "参数错误",
	TokenExpireError:          "token失效，请重新登陆",
	TokenGenerateError:        "生成token失败",
	DbError:                   "数据库繁忙,请稍后再试",
	DbUpdateAffectedZeroError: "更新数据影响行数为0",
	DateCopyError:             "日期复制错误",
	JsonUnmarshalError:        "Json解析错误",
	ParseReqError:             "解析请求错误",
	ValidatorReqError:         "验证器请求错误",
	SqlConcatError:            "Sql连接错误",
	CacheError:                "缓存错误",

	UserNotfoundError: "用户未找到错误",
	UserRegisterError: "用户注册错误",
	UserDeleteError:   "用户删除错误",
	UserUpdateError:   "用户更新错",
	UserAliveError:    "用户激活错误",
	RoleNotfoundError: "角色未找到错误",
	RoleSurvivalError: "角色生存错误",
	RoleAddError:      "角色添加错误",
	RoleDeleteError:   "角色删除错误",
	RoleUpdateError:   "角色更新错误",
	UserGetError:      "用户获取错误",
	UserLoginError:    "用户登录错误",
	UserPasswordError: "用户密码错误",
	UserNotAdminError: "用户非管理员错误",
	RoleHaveUserError: "角色出现用户错误",
	RoleGetError:      "角色获取错误",
	UserCodeError:     "用户代码错误",
	UserCodeTooBusy:   "用户代码繁忙",
	UserCodeUnMatch:   "用户代码不匹配",
	UserCodeAuthError: "用户代码验证错误",
}

// Msg 为ResCode注册一个Msg方法，负责返回错误码对应的错误信息
func (c ResCode) Msg() string {
	msg, ok := CodeMsgMap[c]
	if !ok {
		msg = CodeMsgMap[ServerBusyError]
	}
	return msg
}

func IsCodeErr(errcode uint32) bool {
	if _, ok := CodeMsgMap[ResCode(errcode)]; ok {
		return true
	} else {
		return false
	}
}
